// 🔴 导入的时候要检查路径是否正确，Ctrl+I
import qqmapsdk from '../../../utils/qqmap'

// Ctrl＋p
Page({
  data: {
    address: '',
    latitude: 0,
    longitude: 0,
    list: [],
  },
  async onLoad() {
    // API 调用额度不够用, 可以先把初始化搜索的业务代码屏蔽掉
    // return
    // 企业中准备工作
    //  1. 小程序管理员申请开通 API 调用（上线需要）
    //  2. app.json 中配置权限 requiredPrivateInfos 和 permission
    //  3. 调用 wx.getLocation() (开发期间能直接使用)

    // 获取当前位置的经纬度
    const { longitude, latitude } = await wx.getLocation()
    // 保存经纬度
    this.setData({ longitude, latitude })
    // 根据经纬度搜索小区
    this.onSearchList()

    // 调用腾讯地图的逆地址解析 - 不影响搜索,搜索只需要经纬度
    qqmapsdk.reverseGeocoder({
      location: {
        latitude,
        longitude,
      },
      success: (res) => {
        // console.log(res)
        this.setData({
          address: res.result.address,
        })
      },
    })
  },
  // 通过地图选择位置
  async onChooseLocation() {
    // 打开地图选择位置（小程序内置 API）
    const { name, latitude, longitude } = await wx.chooseLocation()
    // 保存地址信息和经纬度信息
    this.setData({
      address: name, // 社区服务 name 合适，如果是快递、送餐等精确地址，用 address 合适
      latitude,
      longitude,
    })
    // 根据经纬度搜索小区
    this.onSearchList()
  },
  // 地点搜索
  onSearchList() {
    // 获取经纬度
    const { latitude, longitude } = this.data
    // 调用 qqmapsdk 的搜索 API
    qqmapsdk.search({
      // 必填参数
      keyword: '住宅小区',
      // 经纬度
      location: { latitude, longitude },
      // 页容量
      page_size: 5,
      success: (res) => {
        // 保存列表
        this.setData({
          list: res.data,
        })
      },
    })
  },
})
